//对于axios二次封装
import axios from "axios";
//引入进度条
import nprogress from "nprogress";
//导入进度条样式
import 'nprogress/nprogress.css';
import store from "@/store";
//start 开始 done 结束
//利用axios的create方法创造实例

const requests=axios.create({
    //配置对象
    //基础路径 发请求时 会出现api
    baseURL:'/api',
    //设置请求超时时间
    timeout:5000,
});
//请求拦截器：在请求之前可以做一些事情
requests.interceptors.request.use((config)=>{
    //config 配置对象 里面有个header请求头

    //判断uuid是否为空
    if(store.state.detail.uuid_token){
        //请求头添加一个字段 usertempId字段与后端统一
        config.headers.userTempId=store.state.detail.uuid_token
    }
    //将token带给服务器
    if(store.state.user.token){
        config.headers.token=store.state.user.token
    }
    nprogress.start();
    return config;

});
//响应拦截器 
requests.interceptors.response.use((res)=>{
    //服务器数据回来后的回调函数
    nprogress.done();
    return res.data;
},(error) => {
    return Promise.reject(error)
  
});


export default requests;